Java 的 Spring Boot 框架已經成為現代微服務架構的標配。而在昨天也提到 IntelliJ 這個大家喜愛的 IDE,基於 IntelliJ 而來介紹幾個好用的插件
Lombok 是一個 Java library(因此要記得於 pom.xml
或 gradle.build
中加入依賴),它提供了一系列 @Annotation
,幫助開發者減少重複程式碼。通常在開發時會需要為每個 Class 撰寫許多標準的方法,如 getters
、setters
、equals
、hashCode
和 toString
方法。Lombok 通過註解自動於編譯時生成這些方法,從而減少錯誤並提高開發速度。
@Getter
& @Setter
@ToString
@EqualsAndHashCode
: 這個註解會自動生成 equals 和 hashCode 方法@NoArgsConstructor
& @RequiredArgsConstructor
& @AllArgsConstructor
:自動生成無參建構子、包含所有 final 和 @NonNull
建構子,以及全參建構子。
@Data
: 這是一個全能註解,一次性的包含了 @ToString
, @EqualsAndHashCode
, @Getter
, @Setter
和 @RequiredArgsConstructor
的功能。
@Builder
:自動生成建造者模式(Builder Pattern)
有一個使用者 class
import lombok.Builder;
@Builder
public class User {
private String name;
private String email;
private int age;
}
現在要 new 出一個新的使用者非常快速方便(且可自建想要加入的屬性)
User user = User.builder()
.name("AliMeowMeow")
.email("alimeowmeow@example.com")
.age(5)
.build();
但要注意,如果有用到其他建構子,同時還使用 @Builder
,請一定要補上無參建構子,Java 是不是自動幫你補上無參的 constructor 的
@Value
:用來創建都是 final 不可變的值,且具有 getter 方法而無 setter 方法(因其為 final 不可變),資料正規化後如有不變的 class 可加 @Value
註解或直接改用 JDK16 後出現的 record